//
// Created by wangwanlong on 2024/11/1.
//

#ifndef MKAHYPAR_RATING_TIE_BREAKING_POLICY_H
#define MKAHYPAR_RATING_TIE_BREAKING_POLICY_H
#include "mkahypar/utils/macros.h"
#include "mkahypar/utils/randomize.h"
namespace mkahypar{
  class RandomRatingWins {
  public:
    MKAHYPAR_ATTRIBUTE_ALWAYS_INLINE static bool acceptEqual() {
      return Randomize::getInstance().flipCoin();
    }

    RandomRatingWins(const RandomRatingWins&) = delete;
    RandomRatingWins& operator= (const RandomRatingWins&) = delete;

    RandomRatingWins(RandomRatingWins&&) = delete;
    RandomRatingWins& operator= (RandomRatingWins&&) = delete;

  protected:
    ~RandomRatingWins() = default;
  };
}
#endif //MKAHYPAR_RATING_TIE_BREAKING_POLICY_H
